#pragma once

#ifndef _CR_HTTP_PARAMETERS_H_
#define _CR_HTTP_PARAMETERS_H_

NS_CR_BEGIN

namespace http
{
	struct Parameter {
		template <typename KeyType, typename ValueType>
		Parameter(KeyType&& key, ValueType&& value)
			: key{ _STD_FWD(key) }
			, value{ _STD_FWD(value) }
		{}

		string key;
		string value;
	};

	class Parameters
	{
	public:
		Parameters() = default;
		Parameters(const _STD initializer_list<Parameter>& parameters);

		void AddParameter(const Parameter& parameter);

		string content;
	};
}

NS_CR_END

#endif // !_CR_HTTP_PARAMETERS_H_